@echo off
chcp 65001 >nul
cls
echo ====================================
echo 五子棋项目环境检查工具
echo ====================================
echo.

set ERROR_COUNT=0

echo [1/6] 检查 Java 环境...
java -version 2>nul
if %errorlevel% equ 0 (
    echo ✅ Java 已安装
    java -version 2>&1 | findstr "17" >nul
    if %errorlevel% equ 0 (
        echo    版本符合要求 ^(JDK 17^)
    ) else (
        echo ⚠️  建议使用 JDK 17
    )
) else (
    echo ❌ Java 未安装
    set /a ERROR_COUNT+=1
)
echo.

echo [2/6] 检查 Maven 环境...
mvn -version 2>nul
if %errorlevel% equ 0 (
    echo ✅ Maven 已安装
) else (
    echo ❌ Maven 未安装
    set /a ERROR_COUNT+=1
)
echo.

echo [3/6] 检查 MySQL 服务...
netstat -ano | findstr ":3306" >nul
if %errorlevel% equ 0 (
    echo ✅ MySQL 服务运行中 ^(端口 3306^)
) else (
    echo ⚠️  MySQL 服务未运行或未安装
    echo    ^(可选组件，不影响基础功能^)
)
echo.

echo [4/6] 检查 Redis 服务...
netstat -ano | findstr ":6379" >nul
if %errorlevel% equ 0 (
    echo ✅ Redis 服务运行中 ^(端口 6379^)
) else (
    echo ⚠️  Redis 服务未运行或未安装
    echo    ^(可选组件，不影响基础功能^)
)
echo.

echo [5/6] 检查 RabbitMQ 服务...
netstat -ano | findstr ":5672" >nul
if %errorlevel% equ 0 (
    echo ✅ RabbitMQ 服务运行中 ^(端口 5672^)
) else (
    echo ⚠️  RabbitMQ 服务未运行或未安装
    echo    ^(可选组件，不影响基础功能^)
)
echo.

echo [6/6] 检查端口占用...
netstat -ano | findstr ":8080" >nul
if %errorlevel% equ 0 (
    echo ⚠️  端口 8080 已被占用
    echo    请关闭占用程序或修改配置文件中的端口
) else (
    echo ✅ 端口 8080 可用
)
echo.

echo ====================================
echo 检查结果汇总
echo ====================================
if %ERROR_COUNT% equ 0 (
    echo ✅ 所有必需组件已就绪，可以启动项目！
    echo.
    echo 启动方式：
    echo   1. 双击运行 "启动项目.bat"
    echo   2. 或执行命令: mvn spring-boot:run
) else (
    echo ❌ 发现 %ERROR_COUNT% 个必需组件未安装
    echo.
    echo 解决方案：
    echo   1. 安装 JDK 17: https://adoptium.net/
    echo   2. 安装 Maven 3.8+: https://maven.apache.org/
    echo   3. 配置环境变量
)
echo.
echo 💡 提示：可选组件^(MySQL/Redis/RabbitMQ^)不影响
echo    项目基础功能启动，适合快速验证和前端联调。
echo ====================================
echo.

pause

